#ifndef _XX_YY_EXP_CHECKER
#define _XX_YY_EXP_CHECKER
#include "bmock_arg_checker.hpp"
#include "bmock_func_spec.hpp"

namespace bmock {
	struct exp_checker : public arg_checker {
		exp_checker(const control_tools_ptr &tl)
			:arg_checker(tl)
		{}
		void check_func(const func_spec &fn1,const func_spec &fn2,const arg_list &) const;
		bool check_func_no_throw(const func_spec &fn1,const func_spec &fn2) const;
		void not_received(const func_spec &func, int exp_times, int actual_times) const;
		void fail() const;
	};
};
#endif